<?php

class Clientes_Form_Clientes extends Zend_Form
{
	protected $_elementos = array();

    public function init()
    {
        /* Form Elements & Other Definitions Here ... */
    	$this->getView();
    	$this->setName("clientes");
    	$this->setMethod('post');
    	$citybr = new Mylibrary_MySuport_CityBr();
    	
    	$nome = new Zend_Form_Element_Text('nome');
    	$nome->setLabel("Nome Abreveado")
    	->setRequired(TRUE)
    	->setFilters(array("StripTags", "StringTrim"))
    	->setValidators(array("NotEmpty"))
    	;
    	
    	$this->_elementos[] = $nome;
    	
    	$nome_comp = new Zend_Form_Element_Text('nome_comp');
    	$nome_comp->setLabel("Nome")
    	->setRequired(TRUE)
    	->setFilters(array("StripTags", "StringTrim"))
    	->setValidators(array("NotEmpty"))
    	;
    	 
    	$this->_elementos[] = $nome_comp;
    	
    	$contato = new Zend_Form_Element_Text('contato');
    	$contato->setLabel("Nome do Contato")
    	->setRequired(TRUE)
    	->setFilters(array("StripTags", "StringTrim"))
    	->setValidators(array("NotEmpty"))
    	;
    	 
    	$this->_elementos[] = $contato;
    	 
    	$email = new Zend_Form_Element_Text('email');
    	$email->setLabel("Email")
    	->setFilters(array("StripTags", "StringTrim"))
    	->setValidators(array("EmailAddress"));
    	 
    	$this->_elementos[] = $email;
    	 
    	$fone = new Zend_Form_Element_Text('telefone');
    	$fone->setLabel("Telefone")
    	->setFilters(array("StripTags", "StringTrim"))
    	->setValidators(array("Digits"));
    	
    	$this->_elementos[] = $fone;
    	
    	$endereco = new Zend_Form_Element_Text('endereco');
    	$endereco->setLabel("Endereço")
    	->setFilters(array("StripTags", "StringTrim"))
    	;
    	
    	$this->_elementos[] = $endereco;
    	
    	$cep = new Zend_Form_Element_Text('cep');
    	$cep->setLabel("CEP")
    	->setFilters(array("StripTags", "StringTrim"))
    	->setValidators(array("Digits"));
    	;
    	 
    	$this->_elementos[] = $cep;
    	
    	$bairro = new Zend_Form_Element_Text('bairro');
    	$bairro->setLabel("Bairro")
    	->setFilters(array("StripTags", "StringTrim"))
    	;
    	 
    	$this->_elementos[] = $bairro;
    	
    	
    	$estado = new Zend_Form_Element_Select('estado');

    	$url = $this->_view->url( array('controller' => 'index', 'action' => 'getcity', 'module' => 'default'),null,true);
    	$estado->setLabel("Estado")
    	->setRequired(TRUE)
    	->addMultiOptions($citybr->getState())
    	->setFilters(array("StripTags", "StringTrim"))
    	->setAttribs(array('onchange' => 'MySandGet(this.value, "'.$url.'", "html", "#cidade-element")',))
    	;
    	 
    	$this->_elementos[] = $estado;    	
    	
    }
    
    public function EditForm(){
    	##
    	$usuarios = new Usuarios_Model_UsuarioMapper();
    	$modusuario = array(0=>"Nenhum");
    	$modusuario += $usuarios->getDbTable()->fillSelectUsuariobyPerfil('nome');

    	
    	$vendedor = new Zend_Form_Element_Select('id_vendedor');
    	$vendedor->setLabel("Linkar ao Vendedor")
    	->addMultiOptions($modusuario)
    	;
    	$this->_elementos[] = $vendedor;
    	
    	
    	$cliente = new Zend_Form_Element_Select('id_usuario');
    	$usuarios = new Usuarios_Model_UsuarioMapper();
    	$modusuario = array(0=>"Nenhum");
    	$modusuario += $usuarios->getDbTable()->fillSelectUsuario('nome');
    	$cliente->setLabel("Linkar ao Usuário")
    	->addMultiOptions($modusuario)
    	;


    	$this->_elementos[] = $cliente;
    	
    	$desconto = new Zend_Form_Element_Text('desconto');
    	$desconto->setLabel("Desconto (%)")
    	->setValidators(array("Int", array('Between', false, array('min' => -100, 'max' => 100))))
    	->setFilters(array("StripTags", "StringTrim"))
    	;
    	$this->_elementos[] = $desconto;
    	
    	$anotacao = new Zend_Form_Element_Textarea('anotacao');
    	$anotacao->setLabel("Anotação")
    	->setAttrib('cols', '40')
    	->setAttrib('rows', '4')
    	->setFilters(array("StripTags", "StringTrim"))
    	;
    	 
    	$this->_elementos[] = $anotacao;
    }
    
    public function FormCity($estado=null){
    	#
    	$citybr = new Mylibrary_MySuport_CityBr();
    	$cidade = new Zend_Form_Element_Select('cidade');
    	 
    	$cidade->setLabel("Cidade")
    	->addMultiOptions($citybr->getCity($estado))
    	->setFilters(array("StripTags", "StringTrim"))
    	->setRequired(TRUE)
    	->setRegisterInArrayValidator(false)
    	;
    	 
    	$this->_elementos[] = $cidade;
    	return $cidade;
    }
    public function renderform($submit = "Enviar"){
    	################################
    	 
    	$enviar = new Zend_Form_Element_Submit("submit");
    	$enviar->setIgnore(true)
    	->setLabel($submit)
    	->removeDecorator('HtmlTag');
    	$this->_elementos[] = $enviar;
    	
    	$token = new Zend_Form_Element_Hash('token');
    	$token->setSalt('s4a1t-53gur0')
    	->setTimeout(300)
    	->setIgnore(true)
    	->removeDecorator('HtmlTag')
    	->removeDecorator('Label')
    	->addErrorMessage(_('Token provided did not match, session expired. Please reload the form.'));
    	;
    	$this->_elementos[] = $token;
    	$this->addElements($this->_elementos);
    	
    }


}

